1. Field of the Invention
The present invention relates to a data input/output control device and a semiconductor memory device system, for details, a data input/output control device configured to encode data input from a host device into predetermined error correcting code to store the encoded data in a nonvolatile semiconductor memory device, input the stored data in the nonvolatile semiconductor memory device, perform error correction and decoding on input_data using the predetermined error correcting code, and output the decoded data to the host device, and a semiconductor memory device system comprising a nonvolatile semiconductor memory device and the data input/output control device.
2. Field of the Invention
A proposed structure of a data input/output control device controlling a flash memory in response to a request from CPU has an error correction circuit reading an input data sequentially in 512 Byte, encodes the read data into error correcting code having 522 byte, writing the encoded data into the flash memory, performing error correction, encoding the data to be read out, and outputting the encoded data when the data is read out from the flash memory (see, for example, Non-Patent Document 1). This proposed data input/output control device has this error correction circuit, and successively correct data inversion errors when the data inversion error in the data stored in the flash memory occurs owing to some reason. Non-Patent Document 1: Toru Tanzawa, Tomoharu Tanaka, Ken Takeuchi, Riichiro Shirota, Seiichi Aritomo, Hiroshi Watanabe, Gertjan Hemink, Kazuhiro Shimizu, Shinji Sato, Yuji Takeuchi, and Kazunori Ohuchi, “A Compact On-Chip ECC for Low Cost Flash Memories”, IEEE JOURNAL OF SOLID-STATE CIRCUITS, VOL. 32, No. 5, MAY 1997.
In this prior art data input/output control device, code length of error correcting code is set predetermined length, and error correction of data is performed using error correcting code having the predetermined length. There is an upper limit in number of bits that is correctable. When the errors more than the upper limit of number of bits that is correctable occurs, this errors cannot be corrected. The one of the methods for correcting more error is the method of using error correcting code having longer code length. In this case, the time for encoding or decoding data in the error correction circuit increases, and consumption power of the error correction circuit increases.